package com.weimei.conversionTreasure.utils;

import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.weimei.conversionTreasure.R;

/**
 * 创建者：Administrator
 * 修改时间: 2020/11/5 16:32
 * Describe：
 * 将图片加载方法统一放在此处
 */
public class GlideHandler {

//    public static void loadUserHead(Context context, String url, int size, ImageView iv) {
//        Glide.with(context)
//                .load(url)
//                .apply(new RequestOptions().override(size))
//                .apply(new RequestOptions().error(R.mipmap.icon_def1).placeholder(R.mipmap.icon_def1))
//                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
//                .into(iv);
//    }

    public static void loadUserHead(Context context, String url, int size, ImageView iv) {
        Glide.with(context)
                .load(url)
                .apply(new RequestOptions().error(R.mipmap.logo).placeholder(R.mipmap.logo))
                .apply(RequestOptions.bitmapTransform(new CircleCrop()))
                .into(iv);
    }

    public static void loadPuzzleTemplatePic(Context context, String url, ImageView iv) {
//        Glide.with(context)
//                .load(url)
//                .apply(new RequestOptions().error(R.mipmap.default_2_ic).placeholder(R.mipmap.default_2_ic))
//                .into(iv);
    }

    public static void loadPuzzleTemplatePic(Context context, String url, int width, int height, ImageView iv) {
//        Glide.with(context)
//                .load(url)
//                .apply(new RequestOptions().override(width, height)
//                        .error(R.mipmap.default_2_ic)
//                        .placeholder(R.mipmap.default_2_ic))
//                .into(iv);
    }


    public static void loadAlbumPic(Context context, String path, int size, ImageView iv) {
//        Glide.with(context)
//                .load(path)
//                .thumbnail(0.2f)
//                .apply(new RequestOptions() .override(size)
//                        .placeholder(R.mipmap.default_2_ic)
//                        .error(R.mipmap.default_2_ic))
//                .into(iv);
    }

    public static void loadSeePic(Context context, String path, ImageView iv) {
//        Glide.with(context)
//                .load(path)
//                .apply(new RequestOptions() .error(R.mipmap.default_2_ic)
//                        .placeholder(R.mipmap.default_2_ic))
//                .into(iv);
    }

    public static void loadWorkWm(Context context, ImageView iv, int imageResId) {
        Glide.with(context)
                .load(imageResId)
                .into(iv);
    }

    public static void loadLifeWm(Context context, String imgUrl, ImageView iv, int size) {
        RequestOptions options = new RequestOptions()
                .placeholder(R.mipmap.logo)
                .bitmapTransform(new RoundedCorners(dip2px(context, size)));

        Glide.with(context).asBitmap()
                .load(imgUrl)
                .apply(options)
                .into(iv);

    }

    /**
     * 加载滤镜效果图片
     *
     * @param context
     * @param imgResId
     * @param errorIc
     * @param iv
     * @param size
     * @param options
     */
    public static void loadFilterIc(Context context, int imgResId, int errorIc, ImageView iv, int size, RequestOptions options) {
        Glide.with(context)
                .load(imgResId)
                .apply(new RequestOptions().error(errorIc)
                        .placeholder(errorIc).override(size))
                .apply(options)
                .into(iv);
    }

    /**
     * 在长图拼接-备注界面使用
     *
     * @param context
     * @param picPath
     * @param showSize
     * @param options
     * @param iv
     */
    public static void loadPicMosaicRemarkIc(Context context, String picPath, int showSize, RequestOptions options, ImageView iv) {
//        Glide.with(context)
//                .load(picPath)
//                .apply(new RequestOptions().error(R.mipmap.default_2_ic)
//                        .placeholder(R.mipmap.default_2_ic)
//                        .override(showSize))
//                .apply(options)
//                .into(iv);
    }




    // 工具类 提供px和dip的相互转化

    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }


    public int px2dip(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

//    public static void chooseImg(Context context, int count, Set<MimeType> mimeTypes, int requestCode) {
//        RxPermissionsUtils.file((Activity) context, new RxPermissionsUtils.Accept() {
//            @Override
//            public void accept() {
//                Matisse.from((Activity) context)
//                        .choose(mimeTypes, false)
//                        .countable(true)
//                        .capture(true)
//                        .captureStrategy(new CaptureStrategy(true, Config.fileProvide))
//                        .maxSelectable(count)
//                        .gridExpectedSize(400)//图片显示表格的大小
//                        .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
//                        .thumbnailScale(0.85f)
//                        .imageEngine(new GlideEngine())
//                        .showSingleMediaType(true)
//                        .originalEnable(true)
//                        .maxOriginalSize(10)
//                        .autoHideToolbarOnSingleTap(true)
//                        .forResult(requestCode);
//            }
//        });
//    }
}
